本发明公开了基于邻近度访问受限制的内容的方法和系统。向消费者提供对使用内容(例如电影、歌曲、应用等)的许可证。该许可证允许该消费者正使用(例如登录)的设备以及在该消费者正使用的设备附近的各设备使用该内容。例如,第一计算设备获取对受限制的内容的许可证。第二计算设备获取该受限制的内容的副本;然而,第二计算设备未被许可使用该内容并且因该内容是加密的或以其他方式受限制的而可能不能访问该内容。第一计算设备被带到第二计算设备附近。响应于检测到第一计算设备与第二计算设备邻近,向第二计算设备提供对该受限制的内容的合法访问。第二计算设备随后可解密(或以其他方式访问)并播放该内容。
1.一种用于基于第一计算设备与第二计算设备邻近来呈现受限制的内容的方法,包括:xa0在所述第二计算设备处获取所述受限制的内容(86);xa0确定所述第二计算设备与所述第一计算设备邻近(84),确定所述第二计算设备与所述第一计算设备邻近包括基于与所述第二计算设备相关联的GPS位置信息来确定所述第二计算设备与所述第一计算设备处于预定义的距离内;xa0当所述第二计算设备与所述第一计算设备邻近时且响应于所述第二计算设备与所述第一计算设备邻近,在所述第二计算设备处从所述第一计算设备接收对所述受限制的内容的访问权限(88),在所述第二计算设备处接收对所述受限制的内容的访问权限包括响应于所述第二计算设备与所述第一计算设备处于所述预定义的距离内来在接收对所述受限制的内容的访问权限,其中对所述受限制的内容的访问权限包括循环变化的密钥;以及xa0使用所述第二计算设备基于所述访问权限来呈现所述受限制的内容(88)。xa0
2.如权利要求1所述的方法,其特征在于:xa0获取受限制的内容包括下载经加密的内容;以及xa0接收对所述受限制的内容的访问权限包括在所述第二计算设备处接收密钥来对所述经加密的内容进行解密。xa0
3.如权利要求1或2所述的方法,其特征在于,还包括:xa0响应于所述第二计算设备不再与所述第一计算设备邻近,失去在所述第二计算设备处对所述受限制的内容的访问权限并且不再能够使用所述第二计算设备来呈现所述受限制的内容。xa0
4.如权利要求1或2所述的方法,其特征在于:xa0所述第一计算设备与第一用户的用户身份相关联地操作,以及所述第二计算设备与不同于所述第一用户的第二用户的用户身份相关联地操作。xa0
5.如权利要求1或2所述的方法,其特征在于:xa0接收对所述受限制的内容的访问权限包括所述第二计算设备向所述第一计算设备提供所述第二计算设备的公钥,从所述第一计算设备接收基于所述公钥来加密的内容密钥,基于所述第二计算设备的与所述公钥相关联的私钥来对所述内容密钥进行解密,以及使用经解密的内容密钥来对所述受限制的内容进行解密。xa0
6.如权利要求1所述的方法,其特征在于:xa0接收对所述内容的访问权限包括所述第二计算设备向所述第一计算设备提供所述第二计算设备的公钥,从所述第一计算设备接收针对所述受限制的内容的第一部分的、基于所述公钥来加密的第一内容密钥,基于所述第二计算设备的与所述公钥相关联的私钥来对所述第一内容密钥进行解密,使用经解密的第一内容密钥来对所述受限制的内容的第一部分进行解密,仅当所述第一计算设备与所述第二计算设备邻近时才从所述第一计算设备接收针对所述受限制的内容的第二部分的、基于所述公钥来加密的第二内容密钥,基于所述第二计算设备的与所述公钥相关联的私钥来对所述第二内容密钥进行解密,并且使用经解密的第二内容密钥来对所述受限制的内容的第二部分进行解密。xa0
7.如权利要求1所述的方法,其特征在于:xa0接收对所述受限制的内容的访问权限包括所述第二计算设备向所述第一计算设备提供所述第二计算设备的公钥,从所述第一计算设备接收基于所述公钥来加密的内容密钥,基于所述第二计算设备的与所述公钥相关联的私钥来对所述内容密钥进行解密,使用经解密的内容密钥来对所述受限制的内容的第一部分进行解密,验证所述第一计算设备是否仍然与所述第二计算设备邻近,如果所述第一计算设备不与所述第二计算设备邻近则删除经解密的内容密钥,如果所述第一计算设备仍然与所述第二计算设备邻近则使用经解密的内容密钥来对所述受限制的内容的第二部分进行解密。xa0
8.如权利要求1所述的方法,其特征在于:xa0接收对所述内容的访问权限包括所述第二计算设备向所述第一计算设备提供所述第二计算设备的公钥,接收基于所述公钥来加密的内容密钥,基于与所述第二计算设备的所述公钥相关联的私钥来对所述内容密钥进行解密,使用经解密的内容密钥来对所述受限制的内容的第一部分进行解密,响应于对经加密的内容的第一部分进行解密来删除经解密的内容密钥,在删除了经解密的内容密钥之后请求并接收经加密的内容密钥,对所述内容密钥进行解密,并且使用经解密的内容密钥来对所述受限制的内容的第二部分进行解密。xa0
9.如权利要求1所述的方法,其特征在于,还包括:xa0在所述第二计算设备处从所述第一计算设备接收验证信息;以及xa0向服务器呈现所述验证信息,在所述第二计算设备处接收对所述内容的访问权限包括在所述第二计算设备处从所述服务器接收密钥,所述第二计算设备使用所述密钥来对所述受限制的内容进行解密。xa0
10.如权利要求1所述的方法,其特征在于,还包括:xa0无线地感测所述第二计算设备处的方位信息;xa0将所述方位信息从所述第二计算设备传送给服务器;以及xa0基于所传送的方位信息来接收所述第二计算设备与所述第一计算设备邻近的指示。xa0
11.如权利要求1所述的方法,其特征在于:xa0所述第二计算设备不是物理地连接到所述第一计算设备;xa0获取受限制的内容包括下载经加密的内容;xa0接收对所述内容的访问权限包括所述第二计算设备向所述第一计算设备提供所述第二计算设备的公钥,从所述第一计算设备接收基于所述公钥来加密的内容密钥,基于所述第二计算设备的与所述公钥相关联的私钥来对所述内容密钥进行解密,以及使用经解密的内容密钥来对经加密的内容进行解密;以及xa0所述方法还包括响应于所述第二计算设备不再与所述第一计算设备邻近,失去在所述第二计算设备处对所述内容的访问权限并且不再能够使用所述第xa0二计算设备来呈现所述受限制的内容。xa0
12.一种用于呈现内容的系统,包括:xa0第一计算设备(12),所述第一计算设备经由网络(10)从实体(16)获得对内容的访问权限;以及xa0第二计算设备(14),所述第二计算设备响应于所述第一计算设备(12)与所述第二计算设备邻近来从所述第一计算设备接收对所述内容的访问权限,所述第二计算设备使用所述访问权限来访问所述内容,其中所述第一计算设备与所述第二计算设备邻近包括所述第一计算设备与所述第二计算设备处于预定义的距离内。xa0
13.如权利要求12所述的系统,还包括:xa0许可服务器(16),所述第一计算设备从所述许可服务器获得对内容的访问权限;xa0邻近度服务器(20),所述第一计算设备和所述第二计算设备向所述邻近度服务器传送方位数据,并且所述邻近度服务器基于来自所述第一计算设备和所述第二计算设备的方位数据来确定所述第一计算设备是否与所述第二计算设备邻近,所述邻近度服务器向所述许可服务器传递所述第一计算设备是否与所述第二计算设备邻近,所述许可服务器响应于所述邻近度服务器向所述许可服务器传递所述第一计算设备与所述第二计算设备邻近来将包含对所述内容的访问权限的数据发送给所述第二计算设备。xa0
14.如权利要求12或13所述的系统,其特征在于:xa0当所述第一计算设备与所述第二计算设备邻近时且响应于所述第一计算设备与所述第二计算设备邻近,所述第一计算设备将对所述内容的访问权限传送给所述第二计算设备;以及xa0水印被间歇地添加到所述内容,以标识所述第一计算设备的用户。xa0
15.如权利要求12或13所述的系统,其特征在于:xa0响应于所述第一计算设备不再与所述第二计算设备邻近,所述第二计算设备失去对所述内容的访问;以及xa0所述第一计算设备不是物理地连接到所述第二计算设备。xa0
技术领域本发明涉及计算机领域,尤其涉及内容获取技术。xa0
背景技术人们订阅或以其他方式获取与内容有关的各种服务,诸如视频或音乐点播、在订阅基础上的应用/服务、视频租赁、音乐/视频购买等。当前,这些服务中的许多需要该内容被绑定到特定设备。这在适当为该内容付了费用的消费者想要在不同设备上访问该内容时产生问题。例如,正在旅行的人可为其移动计算设备(例如,膝上型计算机、平板计算机或蜂窝式电话)订购电影。然而,如果这个人在其旅行中没有观看该电影且现在在有大电视机的朋友的房屋中,则这个人可能想要在其朋友的大电视机上与其朋友一起看该电影。当前,在不将这个人的移动设备物理地连接到电视机(如果该两个设备没有适当的端口则这是不可能的)的情况下,没有容易的方式来在其朋友的电视机上播放该内容。xa0
发明内容提供了允许未许可设备基于该未许可设备与经许可设备邻近来使用该经许可设备的许可证以播放受限制的内容的系统。例如,第一设备获取网络上可用的经加密的内容的许可证。响应于检测到第二设备与该第一设备邻近,向该第二设备提供对该经加密的内容的合法访问。该第二设备随后可合法地解密并播放该内容。xa0一个实施例包括在该第二计算设备处获取受限制内容,确定该第二计算设备与该第一计算设备邻近,当该第二计算设备与该第一计算设备邻近时并且响应于该第二计算设备与该第一计算设备邻近来在该第二计算设备处接收对该内容的访问权限,以及基于该访问权限使用该第二计算设备来呈现该内容。xa0一个实施例包括其上存储有处理器可读代码的一个或多个处理器可读存xa0储设备。该处理器可读代码对一个或多个处理器编程以执行一种方法。该方法包括在第一计算设备处获得对内容的访问权限,标识出该第一计算设备与第二计算设备邻近,以及当该第一计算设备与该第二计算设备邻近时并且响应于该第一计算设备与该第二计算设备邻近来向该第二计算设备提供对该内容的访问权限。xa0一个实施例包括第一计算设备和第二计算设备。该第一计算设备经由网络从一实体获得对内容的访问权限。该第二计算设备响应于该第一计算设备与该第二计算设备邻近来接收对该内容的访问权限。该第二计算设备使用该访问权限来访问该内容。xa0提供发明内容述以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。xa0
附图说明图1是描绘用于实现此处描述的系统的各组件的一个实施例的框图。xa0图2是描述用于允许未许可设备基于该未许可设备与经许可设备邻近来使用该经许可设备的许可证以播放受限制的内容的过程的一个实施例的流程图。xa0图3是描述用于使内容可用的过程的一个实施例的流程图。xa0图4是描述用于获得对内容的许可证的过程的一个实施例的流程图。xa0图5是描述用于检测邻近度的过程的一个实施例的流程图。xa0图6是描述用于检测邻近度的过程的一个实施例的流程图。xa0图7是描述用于检测邻近度的过程的一个实施例的流程图。xa0图8是用于基于与邻近的设备相关联的许可证来播放内容的过程的一个实施例的流程图。xa0图9是用于基于与邻近的设备相关联的许可证来播放内容的过程的一个实施例的流程图。xa0图10是用于基于与邻近的设备相关联的许可证来播放内容的过程的一个xa0实施例的流程图。xa0图11是用于基于与邻近的设备相关联的许可证来播放内容的过程的一个实施例的流程图。xa0图12是用于基于与邻近的设备相关联的许可证来播放内容的过程的一个实施例的流程图。xa0图13是用于基于与邻近的设备相关联的许可证来播放内容的过程的一个实施例的流程图。xa0图14是描绘可用于实现此处描述的各计算设备的计算系统的一个示例的框图。xa0
具体实施方式描述了合法地允许未许可设备基于该未许可设备与经许可设备邻近来使用该经许可设备的许可证以播放受限制的内容的系统。这一概念可使用图1来解释,图1是描述经由云10彼此通信的各计算设备的框图。在一个实施例中,云10可以是因特网、另一类型的全球网络、其他类型的网络、或其他通信手段。图1示出全部与云10进行通信的第一计算设备12、第二计算设备14、许可服务16、内容递送服务18以及邻近度服务器20。因此,全部五个设备(12、14、16、18和20)可使用本领域已知方式经由云10彼此进行通信。通信可经由有线或无线技术、或有线和无线技术的结合。不需要特定类型的通信技术。xa0第一计算设备12和第二计算设备14可以是任何类型的移动或非移动计算设备。例如,第一计算设备12和第二计算设备14可以是台式计算机、膝上型计算机、蜂窝电话、电视机/机顶盒、视频游戏控制台、车载计算设备、智能设备等。不需要特定类型的计算设备。许可服务16包括实现许可服务的一个或多个服务器。许可服务16提供对各种内容的许可证(例如,访问、播放、分发、展示的权限等等)。内容的示例包括视频、音频、视频与音频的结合、静止图像、软件、应用、服务等等。出于讨论的目的,由许可服务16许可的内容将被称为受限制的内容,因为需要许可证才能适当地使用该内容。内容递送服务18包括组成服务以供递送内容的一个或多个服务器。在一个示例中,内容递送服务18是内容递送网络(“CDN”)。在某些实施例中,由许可服务xa016许可的并提供给内容递送服务18的内容是加密的。以此方式,可访问云10的实体可从内容递送服务18下载该经加密的内容。为了访问和播放该内容,实体将需要从许可服务16获得许可证。一旦获取了该许可证,该实体就将获取访问从内容递送服务18下载的经加密的内容的能力。注意,该内容常常用密钥来加密,因此该内容可被放置在CDN上。这是强密钥。许可证包含该密钥,但却是对特定用户和/或设备加密的。xa0此处描述了用于允许设备基于与其他设备的邻近度来访问受限制的内容的技术。在某些实施例中,各设备自己将决定它们是否适当地邻近。在其他实施例中,邻近度服务器20(可以是一个或多个服务器)被用于确定或帮助确定两个或更多设备是否彼此邻近。xa0出于示例目的,以下讨论将假设第一计算设备12正确地从许可服务16获得了对存储在内容递送服务18的受限制内容的示例集合的许可证。在以下描述的各示例中,第二计算设备14没有从许可服务16获得对该受限制的内容的许可证;然而,付了费并从许可服务16正确地获得了该许可证的第一计算设备12的所有者或用户希望在第二计算设备14上访问并播放该内容。该第二计算设备14可与不同用户相关联。因此,在某些实施例中,第一计算设备12响应于第一用户认证使用第一用户简档来操作,并且第二计算设备14响应于第二用户(不同于该第一用户)认证在第二用户简档下操作。在其他实施例中,相同用户可登录到第一计算设备12和第二计算设备14两者(在其中被认证)。此处描述的技术允许第二计算设备14基于并响应于第二计算设备14与第一计算设备12邻近来访问和播放已经向第一计算设备12许可的受限制的内容。xa0在某些实施例中,使用两个登录来认证不同计算设备。然而,可建立其他类型的关系和许可证。例如,电话可与TV对话而无需每次存在连接时都进行认证。例如,可建立1∶1映射。对于某些情况,用户可选择一次性关系——因此需要在某人每次连接时对其进行重新认证。这将防止在没有授权许可的情况下对媒体的即时访问。许可证类型也可有助于此,因为内容持有者可以说你可以即时访问我的音乐,但当我在你家时需要请求对播放电影或玩游戏的许可。另一示例是用户可列出特定资产的白名单以及资产的黑名单——因此其他人只可看到用户想要你看到的并避免公开所有购买。社交图也可被用于确定许可xa0或媒体偏好。xa0邻近度的定义是相对的。在一个实施例中,邻近度意味着在同一房间里。在另一实施例中,邻近度意味着在同一建筑物里。在其他实施例中,邻近度意味着彼此处于预定义的距离内,其中该距离是基于特定实现来定义的。在一个示例中,该预定义的距离是十五英尺;然而,该技术并非限于任何特定距离,并且可使用其他值(大于或小于十五英尺)。在一个实施例中,如果两个设备都在IP网络的同一子网上、且它们之间的IP通信量经历小于或等于3跳,则这两个设备是邻近的。在某些实施例中,邻近度的半径可以在按用户的基础上来设置,并且对于给定用户的半径可基于位置和一天中的时间来改变。在另一实施例中,内容的许可证可以在按内容项的基础上来限制,或特定内容仅可在特定位置处使用。xa0图2是描述允许第二计算设备14基于并响应于与第一计算设备12邻近来访问受限制的内容的图1各组件的操作的流程图。在图2的步骤80中,使受限制的内容可用。例如,该内容可被加密并存储在内容递送服务18上以供适当用户下载。在步骤82,设备可获得对该受限制的内容的许可证。例如,所获得的许可证可与第一计算设备12相关联。在步骤84,检测到第一计算设备12与第二计算设备14邻近。在步骤86,第二计算设备14将获得该受限制的内容的全部或部分的副本。在步骤88,第二计算设备14将基于与第一计算设备12相关联的许可证以及基于第二计算设备与第一计算设备12邻近来合法地访问和播放该受限制的内容(来自步骤86)。注意,各步骤的次序可与图2中绘的不同。例如,第二计算设备14可在步骤88期间以及在执行步骤88之前获得受限制的内容的副本。另外,对该设备在附近的检测可发生在步骤86之后、在步骤82之前等等。xa0在某些实施例中,第一设备的用户将因向第二计算设备14提供内容而接收奖励(见步骤90)。这是用于鼓励对内容的促销的奖励。例如,可奖励频繁用户点、奖励礼物点、奖励折扣等等。这一可任选步骤90的概念是为不同用户提供激励以促销各分发者的内容。一个实施例包括跟上设备或用户应被奖励多少次的可任选“日志服务”。它知道什么用户将什么内容从哪些设备分享到哪些设备。日志可被用于使用激励来奖励好顾客。它们可被用于测量总体系统xa0的使用数据。xa0图3是描述用于使受限制的内容可用的过程的流程图。例如,图3的过程是图2的步骤80的一个示例实现。在图3的步骤120,将内容加密。例如,包含电影的文件可以是通过本领域中各种加密技术中的任一技术来加密。在步骤122中,生成可被用于对经加密的内容进行解密的密钥(下文中被称为内容密钥)。在某些实施例中,可在加密步骤120之前生成该内容密钥。在步骤124,供解密的该内容密钥用许可服务16来存储。在步骤126,向诸如内容递送服务18等分发系统(例如CDN)提供经加密的内容。在一个实施例,加密步骤120通过许可服务16来执行。在其他实施例中,该加密可通过内容生产者或另一实体来执行。xa0图4是描述用于获得对内容的许可证的过程的一个实施例的流程图。例如,图4的过程是图2的步骤82的一个示例实现。在图4的步骤150中,第一计算设备12导航到许可服务16。例如,操作浏览器的用户将导航到许可服务16的适当网站。在其他实施例中,可以使用电话来呼叫许可服务16。也可使用用于联系许可服务的其他手段。此处描述的技术不需要用于联系许可服务的特定手段。在步骤152,第一计算设备12的用户将购买对该受限制的内容(例如,感兴趣的电影)的许可证。在一个示例中,用户将具有购买不同类型的许可证的选项。一个类型的许可证将只允许在第一计算设备12上播放该内容。第二类型的许可证将允许用户在第一计算设备12上播放该内容、或当不同计算设备14与第一计算设备12邻近时在该不同计算设备14上播放该内容。还可使用其他类型的许可证。xa0在步骤154,第一计算设备12向许可服务16提供第一计算设备12的公钥。在步骤156,许可服务16使用来自第一计算设备12的公钥来加密在步骤122生成的内容密钥。在步骤158,将经加密的内容密钥经由云10(或其他通信手段)传送给第一计算设备12。在步骤160,第一计算设备12将经加密的内容密钥存储在第一计算设备12内的黑盒中。该黑盒包含设备的私钥并将永不放弃它。在一个实施例中,第一计算设备12中的黑盒是用软件实现的作为存储器中的、硬盘驱动器上的、半导体非易失性存储上的或其他存储设备上的安全存储位置。如果用户希望在第一计算设备12上访问并查看该内容,则第xa0一计算设备12将使用其私钥来解密该内容密钥,并且随后使用该内容密钥来解密(将从内容递送服务18下载的)该内容。在使用该内容密钥来解密受限制的内容之后,用户可在计算设备12上访问并播放该内容(例如看电影)。在某些实施例中,在回放发生时按块来解密内容,而不是一次解密全部内容。xa0可能存在一种情况是用户想要在与第一计算设备12不同的设备上访问该内容。例如,如果用户获取了旅行中在该用户的蜂窝电话上看电影的许可证,但在旅行时从未有机会观看该电影,则用户现在可能想要在大电视机上观看该电影。使用此处描述的技术,当用户将该用户的蜂窝电话带到紧邻该电视机、紧邻连接到该电视机的机顶盒或紧邻连接到该电视机的视频游戏控制台时,该电影将基于为该蜂窝电话所获取的权限并响应于该蜂窝电话与该机顶盒、游戏控制台和/或电视机邻近而在电视机上播放。在某些实施例中,该电视机将播放与该蜂窝电话相同版本的内容,而在其他实施例中,该电视机将播放该内容的不同版本(例如,诸如较高分辨率的版本)。xa0图5、6和7是描述用于检测第一计算设备12与第二计算设备14邻近的不同实施例的流程图。例如,图5、6和7的过程是图2的步骤84的示例实现。图5、6和7的流程图中描述的三个实施例中的每一个将被分开描述。xa0在图5的步骤174,第一计算设备12移动到第二计算设备14附近。在步骤176,第一计算设备12检测到第二计算设备14与第一计算设备12邻近。在步骤178,第一计算设备12将联系第二计算设备14,并且向第二计算设备14请求与其播放该内容的能力有关的信息。如果第二计算设备14不能播放该具体类型的内容,则没有理由尝试将权限转移给第二计算设备14。响应于第一计算设备12,第二计算设备14将在步骤180确定它可以播放该内容。在步骤182,第二计算设备14将对第一计算设备12作出它可以播放该内容的响应。在步骤184,第一计算设备12向用户通知第二计算设备14在附近并且可以播放该内容。第一计算设备12的用户将指示(例如,点击按钮或某些其他用户界面动作)用户想要在第二计算设备14上播放该内容、或者指示用户不想在第二计算设备14上播放该内容。作为步骤184的一部分,第一计算设备12从用户接收在第二计算设备14上播放该内容的请求/命令。在步骤186,第一计算设备12请求第二计算设备12播放该受限制的内容。在步骤188,第二计算设备14xa0查询第二计算设备14的用户以指示第一计算设备12在附近并拥有对受限制的内容的权限,并且询问第二计算设备24的用户是否希望在第二计算设备24上播放该内容。作为步骤188的一部分,用户将(经由UI)向第二计算设备指示是否播放该内容。如果用户想要在第二计算设备14上播放该内容,则在步骤190第二计算设备14对第一计算设备12作出响应:第二计算设备14希望播放第一计算设备12具有其许可证的内容。在某些实施例中,步骤188是可任选的,因为这些类型的所连接的媒体设备常常被配置成使得它们将自动地回放来自网络上的任何设备或来自特定预先批准的设备的内容。xa0存在许多方式来确定两个计算设备是否邻近。例如,设备可使用WiFi技术、蓝牙技术、GPS技术、伪卫星技术、图像技术以及其他技术。在一个示例中,计算设备可包括用于接收GPS位置信息的GPS接收器。该计算设备将使用GPS信息来确定其位置。在另一实施例中,伪卫星技术可按与使用GPS技术相同的方式来使用。如果两个设备知道其GPS导出的位置,则可确定它们是否彼此邻近。在另一实施例中,可使用蓝牙技术。例如,计算设备可从另一计算设备接收蓝牙信号,并且因此标识该另一计算设备是否邻近。在另一实施例中,计算设备可搜索区域中的所有WiFi网络,并且记录这些WiFi网络中的每一个的信号强度。可检测的WiFi网络和信号强度的列表提供了可包括方位信息的WiFi签名。基于来自一个或多个计算设备的该方位信息,可确定该多个计算设备是否彼此邻近。在另一替换方案中,各计算设备中的一个可以是WiFi路由器/接入点,并且其他计算设备可仅测量信号强度以确定它是否在第一计算设备的邻近度之内。xa0在另一实施例中,各计算设备中的一个可拍摄其周围的一个或多个照片。可将这些照片与该环境中的一组已知照片匹配,以便检测该环境内的位置。使用照片技术的另一实施例包括拍摄计算设备的环境的照片,并且确定它是否可在这些照片中的任一个中检测到另一计算设备的图像。xa0关于通过确定什么设备在附近来获取方位信息的附加信息可以在2004年6月29日申请、2006年3月2日公开的美国专利申请公开号2006/0046709、第10/880,051号、Krumm等人的“Proximityxa0Detectionxa0Usingxa0Wirelessxa0Signalxa0Strengths(使用无线信号强度的邻近度检测)”中、以及2006年6月30日申xa0请、2007年8月30日公开的美国专申请公开号2007/0202887、第11/427,957号、“Determiningxa0Physicalxa0Locationxa0ba
sedxa0Uponxa0Receivedxa0Signals(基于所接收的信号来确定物理位置)”中找到,这两个申请通过引用结合于此。还可使用用于确定设备是否彼此邻近的其他手段。xa0在以上对图5的讨论中,第一计算设备12是确定第一计算设备12与第二计算设备14邻近的计算设备。图6描述了其中是第二计算设备14确定第一计算设备12与第二计算设备14彼此邻近的实施例。在图6的步骤220,第一计算设备12移动到第二计算设备14附近。尽管步骤174和220的示例构想了第一计算设备12移动到第二计算设备14附近,但第二计算设备14移动到第一计算设备12附近同样也是可能的。在步骤222,第二计算设备14使用以上描述的各技术中的任一个来检测到第一设备12在附近。在步骤224,第二计算设备14联系第一计算设备12,并且请求关于可用内容的信息。在步骤226,第一计算设备12确定什么内容可通过其拥有的许可证来获得。在步骤228,第一计算设备12向第一计算设备12的用户查询,指示第二计算设备14已询问了可用内容,并且第一计算设备12向用户列出该可用内容。用户将选择零个、一个或超过一个的内容项,以便向第二计算设备14提供。在步骤230,第一计算设备12对第二计算设备14作出关于对第二计算设备14可用的内容的响应。在步骤232,第二计算设备14向第二计算设备14的用户查询,指示第一计算设备12在附近并且具有可用于在第二计算设备14上播放的以下各内容项。第二计算设备14的用户可选择在第二计算设备14上播放这些内容项中的一个。在步骤234,第二计算设备14将对第一计算设备12作出响应,向第一计算设备12指示由用户选择的用于在第二计算设备14上播放的内容。xa0注意,图5和6的过程构想了第一计算设备12与第二计算设备14进行通信。这一通信可直接地或间接地发生。当直接地发生时,该通信可经由云(10)或经由本地通信方式(例如,WiFi、红外、蓝牙等)来发生。在一个实施例中,第一计算设备不是物理地连接到第二计算设备。当间接地通信时,第一计算设备可经由许可服务16、内容递送服务18、邻近度服务器20、代理服务器、其他服务器等与第二计算设备14进行通信。此处描述的技术不需要用于通信的特定手段。xa0图7提供了用于实现图2的步骤84的另一实施例。图7的过程包括第三方确定该两个计算设备彼此邻近的实施例。例如,邻近度服务器20将确定第一计算设备12与第二计算设备14邻近。在图7的步骤260,第一计算设备12移动到第二计算设备14附近。在步骤262,第一计算设备12将其方位信息发送给邻近度服务器262。例如,第一计算设备将基于来自其传感器的数据来感测关于其自身的方位信息。这一方位信息可包括GPS位置信息、蓝牙信息(可被检测到的设备)、WiFi信息(网络和信号强度)、照片、视频等等(见以上讨论)。在步骤264,第二计算设备14将使用其传感器中的一个或多个来感测方位信息(例如,GPS位置信息、蓝牙信息、WiFi信息、照片、视频等等)。第二计算设备14将其方位信息发送给邻近度服务器20。此时,两个计算设备都将其方位信息发送给了邻近度服务器20。邻近度服务器的一个优点是它可进行蜂窝塔三角测量。服务器可访问来自所有蜂窝电信公司的所有蜂窝塔的大型数据库。如果设备向该服务器发送它当前看到的所有蜂窝塔连同其信号强度,则该服务器可将它三角测量成近似GPS坐标。该设备不需要具有GPS。不同蜂窝供应商上的第二设备可进行同样的事情。如果各设备根据其近似的GPS坐标在可接受的范围内,则回放可发生。xa0在步骤266,邻近度服务器20基于来自这两个计算设备的方位信息来确定第一计算设备12是否与第二计算设备14邻近。在步骤268,邻近度服务器20将向第一计算设备12和第二计算设备14报告它们是否彼此邻近。在步骤270,第一计算设备12将联系第二计算设备14(如果它们彼此邻近),并且请求与第二计算设备14播放各种内容的能力有关的信息。这可通过使两个设备连接到中央服务(可能是邻近度服务)并轮询或获得另一设备在附近的推送通知来完成。另一实施例可能需要用户敲击每一设备上的按钮来广播/轮询在场信息,以便防止过多的网络聊天(chatter)或开销。在步骤272,第二计算设备14将确定它可以播放该内容。在步骤274,第二计算设备14将对第一计算设备12作出响应:它可以播放该内容。在步骤276,第一计算设备12将向第一计算设备的用户查询,以向用户指示第一计算设备12与第二计算设备14邻近并且列出可被传送给第二计算设备14的各种内容。用户将选择零个、一个或超过一个的内容项,以便在第二计算设备14播放。在步骤278,第一计算设备xa012向第二计算设备14发送播放所选择的内容项的请求。在步骤280,第二计算设备14向第二计算设备14的用户查询,指示它与计算设备12邻近,并且可以播放向第一计算设备12许可的所选择的内容项。第二计算设备14的用户可选择是否播放该内容。如果用户选择播放该内容,则在步骤282,第二计算设备14将对第一计算设备12作出响应:它希望播放该内容。xa0图8-13是描述用于在两个设备彼此邻近时基于与第一计算设备12相关联的许可证来在第二计算设备14上播放该内容的不同实施例的各流程图。即,图8-13的各流程图中的每一个都是实现图2的步骤88的不同实施例。xa0图8描述了图12的步骤88的实施例,其中第一计算设备12向第二计算设备14提供内容密钥。如以上讨论的,当第一计算设备12获得了对受限制的内容的许可证时,许可服务16以加密形式向第一计算设备12提供内容密钥。该内容密钥可由第一计算设备12使用第一计算设备12的私钥来加密。第一计算设备12不应与第二计算设备14共享其私钥。另外,第一计算设备12不应以未加密形式向另一设备发送该内容密钥。因此,第一计算设备将重新加密该内容密钥,使得该内容密钥可由第二计算设备14来去除加密。因此,在图8的步骤320,第一计算设备12请求第二计算设备14向其发送与第二计算设备14相关联的公钥。在步骤322,第二计算设备14将其公钥发送给第一计算设备12。在步骤324,第一计算设备12将使用第一计算设备12的私钥来对存储在其黑盒中的该内容密钥进行解密。在步骤326,第一计算设备12将使用第二计算设备14的公钥来对该内容密钥进行加密(在步骤324中对其解密之后)。在步骤328,第一计算设备12向第二计算设备14发送经加密的内容密钥。在某些实施例中,第一计算设备12将验证在步骤328中发送经加密的内容密钥时,它仍然与第二计算设备14邻近。在步骤330,第二计算设备14使用第二计算设备14的私钥来对经加密的内容密钥进行解密。在步骤332,第二计算设备将经解密的内容密钥存储在其黑盒中。如果第二设备是TV或固定目的的设备,则在某些实施例中,整个设备可被认为是黑盒。在该情况下,它会将该内容密钥存储在易失性存储器中。在步骤334,第二计算设备14将使用经解密的内容密钥来对(在图2的步骤86中获得的)该内容进行解密。在某些实施例中,在获得该经解密的内容密钥之前,从内容递送服务18中下载整个内容。xa0在其他实施例中,该内容可按节下载,使得每一节在被下载之后立即被解密,并且经解密的该节内容在被播放之后立即被删除。在步骤336,第二计算设备14播放该经解密的内容。在步骤338,第二计算设备14删除该内容密钥以及经解密的视频。xa0图9是描述播放该内容(图2的步骤88)的另一实施例的流程图,其中,该内容每次被解密一部分。如果两个计算设备不再彼此邻近,则在回放/呈现该内容期间,计算设备14将停止解密该内容的附加部分。即,第二计算设备将失去对该内容的访问权限,并且将不再能够呈现该内容,因为这两个计算设备不再彼此邻近。xa0在图9的步骤320,第一计算设备12请求第二计算设备14的公钥。在步骤322,第二计算设备将14将发送其公钥。在步骤324,第一计算设备12将使用第一计算设备12的私钥来对存储在其黑盒中的内容密钥进行解密。在步骤326,第一计算设备12使用第二计算设备14的公钥来对该内容密钥进行加密。在步骤328,第一计算设备12向第二计算设备14发送经加密的内容密钥。在一个实施例中,在向第二计算设备14发送经加密的内容密钥之前,第一计算设备12将验证该两个设备仍然邻近。在步骤330,第二计算设备14使用第二计算设备14的私钥来对所接收的内容密钥进行解密。在步骤332,第二计算设备将经解密的内容密钥存储在其黑盒中。在某些实施例中,该内容密钥在解密之前将被存储在黑盒中,并且仅在使用它来解密该内容之前最后一刻被解密。图9的步骤320-332与图8中的相同。在步骤380,第二计算设备14将使用该内容密钥解密该内容的一部分。对特定内容项首次执行步骤380时,内容的第一部分将被解密。在步骤382,第二计算设备14将播放该经解密的内容部分。在步骤384,第二计算设备14将确定第一计算设备12是否仍然与第二计算设备14邻近。如果它们仍然邻近(步骤386),则该过程将循环返回步骤380并且第二计算设备14将使用该内容密钥来解密内容的下一个部分。步骤380-386的循环将继续直到完成了该内容。如果该设备不再彼此邻近(步骤386),则在步骤388第二计算设备14将停止呈现该内容、在步骤388删除该内容密钥并且删除任何经解密的内容。在一个实施例中,在回放期间每隔一定时间,第二设备将把可见水印添加到回放图像中。该水印应清楚地示出共享来xa0自第一计算设备的内容的个人的身份。这将使得第一计算设备的用户知道他正给予与不是它自己的设备共享其内容的信任。并且,如果第二计算设备不可靠并试图保持该内容以供稍后重新分发,则泄漏的源是知道的。xa0图10描述了图12的步骤88的另一实施例,其中第二计算设备将在解密该内容的每一部分之后删除该内容密钥。以此方式,第二计算设备14将需要请求内容的每一部分的内容密钥,并且该内容密钥将仅在该设备仍然邻近的情况下提供。图10的步骤320-332与图8中的相同。在步骤332之后,该过程继续至步骤402,其中第二计算设备14将使用存储在第二计算设备14处的内容密钥来解密内容的下一个部分。在步骤404,第二计算设备14将该内容密钥从其黑盒中(以及从第二计算设备14上的任何其他地方)删除。在步骤406,第二计算设备14将播放经解密的内容部分(在步骤402的最近迭代中被解密)在步骤408,第二计算设备将确定第一计算设备是否仍然与其邻近。如果否,则在步骤412第二计算设备14将结束对内容的呈现,删除内容密钥并且删除任何经解密的内容。实际上,第二计算设备正失去访问该内容的权限,并且将不再能够呈现该内容。然而,如果该两个设备仍然邻近(步骤410),则在步骤414第二计算设备14将(再次)请求来自第一计算设备12的该内容密钥。在步骤414之后,该过程循环返回步骤328,并且第一计算设备12将向第二计算设备14发送经加密的内容密钥。该过程随后将从步骤328继续,如图10中描绘的。xa0图11是描述包括使用循环地变化的密钥的图2的步骤88的另一实施例的流程图。在图11的步骤450,第一计算设备12请求第二计算设备14向第一计算设备12发送其公钥。在步骤452,第二计算设备14将其公钥发送给第一计算设备。在这一实施例中,该内容将包括多个密钥。例如,该内容可按节来提供,每一节具有其自己的密钥。例如,内容的各节可与视频期间的时间段对应。步骤454包括第一计算设备解密该内容的所有内容密钥。在步骤456,第一计算设备12将使用第二计算设备14的公钥来对该内容密钥中的一个进行加密。在一个示例中,多个内容密钥中的一个将被标识为当前内容密钥。例如,该内容密钥可以是与第二计算设备14当前或将要播放的内容的当前部分相关联的内容密钥。由此,在步骤486,第一计算设备将加密该内容密钥。在步骤458,xa0第一计算设备12向第二计算设备14发送经加密的当前内容密钥。在某些实施例中,在向第二计算设备14发送当前内容密钥之前,第一计算设备12将验证它仍然在第二计算设备14的邻近度之内。在步骤460,第二计算设备14使用第二计算设备14的私钥来对经加密的内容进行解密。在步骤462,第二计算设备14将经解密的当前内容密钥存储在其黑盒中。在步骤464,第二计算设备14将使用该当前内容密钥来解密与该当前内容密钥相关联的内容部分。在步骤466,第二计算设备14将该当前内容密钥从其黑盒中以及从第二计算设备14上的任何其他地方删除。在步骤468,第二计算设备播放与其刚删除的该当前内容密钥相关联的经解密的内容部分。xa0在步骤470,第二计算设备14确定第一计算设备是否仍然邻近。如果该两个设备不再邻近(见步骤472),则在步骤474第二计算设备14将结束对该内容的呈现,并且删除任何经解密的内容。当前内容密钥已经被删除。如果该设备仍然彼此邻近(步骤472),则在步骤476,第二计算设备14将请求来自第一计算设备12的下一个内容密钥。在步骤476之后,图11的过程循环返回步骤456,并且第一计算设备12将使用第二计算设备14的公钥来加密下一个当前内容密钥。如图11中描绘的,在步骤456之后,该过程在图11的步骤458处继续。由此,存在步骤456-470的循环,该循环针对内容的所有部分重复,直到没有剩余部分要播放或计算设备不再彼此邻近。在该替换方案中,在该循环之前第一计算设备可在步骤454解密所有内容,并且仅发送步骤456-470的循环的每一迭代的不同内容密钥。xa0图12描绘了描述图2的步骤88的其他实施例的流程图,其中第二计算设备14直接从许可服务16接收内容密钥。在图12的步骤510中,第二计算设备14通过经由云10向许可服务16发送通信来直接从许可服务16请求内容密钥。在这一实施例中,假定邻近度服务器20被用于响应于第一计算设备12与第二计算设备14中的每一个如上所述地向邻近度服务器12发送其方位数据来确定这两个计算设备是否邻近。因此,在步骤512,许可服务16将发送要求邻近度服务器20验证第一计算设备在第二计算设备14的邻近度之内的请求。在步骤514,邻近度服务器20将对许可服务16作出响应,指示该两个计算设备是否在彼此的邻近度之内。假定在图12的过程之前或与图12的过程同时,邻xa0近度服务器20已经基于发送给邻近度服务器20的方位数据作出了该两个计算设备是否邻近的确定。如果确定该两个计算设备不在彼此的邻近度之内(步骤516),则在步骤518许可服务16将拒绝来自第二计算设备14的对内容密钥的请求。xa0如果该两个设备彼此邻近(步骤516),则许可服务16将使用此处描述任何其他方法来用一个或多个内容密钥对来自第二计算设备14的请求作出响应。例如,图8-11提供了用于向第二计算设备14提供来自第一计算设备12的内容密钥的不同实施例。这四个流程图中的每一个可以适用,使得它们描述许可服务16向第二计算设备14发送该内容密钥的行为。例如,在图8-11的流程图中,许可服务16可执行被描绘成由第一计算设备12所执行的步骤。即,许可服务16可对该内容发送一次该密钥、对该内容的不同部分多次发送该密钥、或对该内容的不同部分发送不同密钥。还可执行其他实施例。xa0图13描述了图2的步骤88的另一实施例,其中许可服务16将响应于来自第二计算设备14的它与第一计算设备12邻近的证明来向第二计算设备14发送该内容密钥。例如,在步骤630,第二计算设备将从第一计算设备12请求凭证或证书。凭证可包括登录凭证(用户名/口令)、个人识别号(pin)、共享秘密等等。另选地,可以请求证书。该证书可以是本领域中适用于特定实现的任何类型的安全证书。在步骤632,仅当该两个设备在彼此的邻近度之内时,第一计算设备12将向第二计算设备发送凭证或证书。因此,对凭证和/或证书的接收是邻近度的证据。在步骤634,第二计算设备14将(从许可服务16)请求一个内容密钥或多个内容密钥。对该内容密钥的请求可包括对凭证和/或证书的呈现。在步骤636,许可服务16将验证该凭证和/或证书。如果该凭证和/或证书被验证,则在步骤638,许可服务16将使用此处描述的各方法中的任一个来用一个或多个内容密钥对来自第二计算设备14的请求作出响应。图13的步骤638类似于图12的步骤520,并且包括许可服务器使用图8-11中描述的各技术中的任一个来提供密钥。另一方式可能需要该服务器向第二计算设备发出质询,其中第二计算设备必须使第一计算设备签名并返回结果。该服务器可周期性地要求第二计算设备对某些东西重新签名。以此方式,该证书从未离开第一计算设备。xa0一个实施例包括建立了关系的各计算设备可使用该关系的历史来快速跟踪重新连接。例如,个人A去个人B的房屋,并且使用此处描述的各方法中的一个基于个人B的电视机与个人A的蜂窝电话邻近,他们都在该电视机上看电影。在电影结束之前,个人A带着他的蜂窝电话离开该房屋,因此,连接断开,但该电视机保存了关于该连接的信息。这是存储在该电视机上的历史,使得当个人A返回到个人B的房屋时,个人B的电视机可立即检测到个人A的蜂窝电话,并且再次提供连接选项。还存在这样的可能性:个人A或B可通过偏好来擦除该关系——并确保不留下残余。xa0图14描绘了用于实现图1的各设备中的任一个的示例性计算系统710。图14的计算系统710可被用于执行在图2-13中描述的功能。计算系统710的各组件可包括但不限于处理单元720(可执行此处描述的各过程的一个或多个处理器)、系统存储器730(可存储对该一个或多个处理器编程以执行此处描述的各过程的代码)、以及将包括该系统存储器的各种系统组件耦合至该处理单元720的系统总线721。系统总线721可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线,以及局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、外围部件互连(PCI)总线(也称为小背板(Mezzanine)总线)以及PCIxa0Express。xa0计算系统710通常包括各种计算机可读介质。计算机可读介质可以是可由计算系统710访问的任何可用介质并包括,易失性和非易失性介质、可移动和不可移动介质两者,包括RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、盒式磁带、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并且可由计算系统710访问的任何其它介质。xa0系统存储器730包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)731和随机存取存储器(RAM)732。基本输入/输出系统733(BIOS)包括如在启动时帮助在计算机710内的元件之间传输信息的基本例程,它通常储存在ROMxa0731中。RAMxa0732通常包含处理单元720可以立xa0即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图14示出了操作系统734、应用程序735、其它程序模块736和程序数据737。xa0计算系统710还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图14示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器740,从可移动、非易失性磁盘752中读取或向其写入的磁盘驱动器351,以及从诸如CDxa0ROM或其他光学介质等可移动、非易失性光盘756中读取或向其写入的光盘驱动器755。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器741通常由例如接口740等不可移动存储器接口连接至系统总线721,而磁盘驱动器751和光盘驱动器755通常由例如接口750等可移动存储器接口连接至系统总线721。xa0上文讨论并在图14中示出的驱动器及其相关联的计算机存储介质为计算系统710提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图14中,硬盘驱动器741被示为存储操作系统344、应用程序745、其它程序模块746和程序数据747。注意,这些组件可以与操作系统734、应用程序735、其他程序模块736和程序数据737相同,也可以与它们不同。在此给操作系统744、应用程序745、其他程序模块746、以及程序数据747提供了不同的编号,以说明至少它们是不同的副本。用户可以通过输入设备,如键盘762和定点设备761(通常称为鼠标、跟踪球或触摸垫)向计算机输入命令和信息。其他输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、蓝牙收发机、WiFi收发机、GPS收发机等等。这些和其他输入设备通常由耦合至系统总线的用户输入接口760连接至处理单元720,但也可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB),来连接。监视器791或其他类型的显示设备也通过接口,诸如视频接口790,连接至系统总线721。除监视器以外,计算机也可以包括其他外围输出设备,诸如打印机796、扬声器797和传感器799,它们可以通过输出外围接口795连接。传感器799可以是以上提到的各传感器中的任一个,包括蓝牙接收机(或收发机)、话筒、静态相机、摄像机、深度相机、GPS接收机、xa0WiFi收发机等等。xa0计算系统710可使用至一个或多个远程计算机,如远程计算机780的逻辑连接在网络化环境中操作。远程计算机780可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且通常包括上文相对于计算系统710描述的许多或所有元件,尽管在图14中只示出存储器存储设备781。图14中所示的逻辑连接包括局域网(LAN)771和广域网(WAN)773,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。xa0当在LAN联网环境中使用时,计算系统710通过网络接口或适配器770连接至LANxa0771。当在WAN网络环境中使用时,计算系统710通常包括调制解调器772,或用于通过WANxa0773,如因特网建立通信的其它装置。调制解调器772可以是内置或外置的,它可以经由用户输入接口760或其他适当的机制连接至系统总线721。在联网环境中,相对于计算系统710所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非限制,图14示出了远程应用程序785驻留在存储器设备781上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其他手段。xa0尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。本发明的范围旨在由所附权利要求书来定义。xa0